1. Field of the Invention
The present invention relates to a system and method of maintaining cache coherency in an object-based storage system, and more particularly, to a system and method by which cache coherency in a file manager is maintained by applying a dirty cache based on time in each user file manager and updating information from an object-based storage system.
2. Description of the Related Art
Current storage technology has a variety of problems. One of these is that it is very difficult to manage and use information in storage dispersed over many places, due to the heterogeneous IT environments of typical companies. A direct attached storage (DAS) technology has been used for a long time, but due to its distance restriction and limited scalability and connectivity, this technology is used only in limited applications that require high speed data transmission.
Recently, network attached storage (NAS) and storage area network (SAN) technology have been replacing DAS. NAS and SAN allow storage to be shared through connection networks, such as Ethernet and fiber channel networks. However, these technologies also have unsolved problems with security, scalability, and file sharing between heterogeneous platforms. Accordingly, new object-based storage technology has been developed to provide storage abstraction based on objects and solve the problems of conventional storage technology.
An object in object storage technology is a storage container having an interface similar to a file system, and is composed of 3 elements: data (data stored by a user in storage), a user access attribute, and device management metadata (additional information maintained in a storage device in order to manage physical storage of the object). Dependency between a file system and metadata is removed in this object, and thus data can be shared between different file systems. Since objects can be treated individually, object-based storage provides data sharing independent of platform and a data security policy at an application level. By using the attribute of an object stored in an object-based storage device (OSD), an intelligent device function, such as self-management, can be additionally provided.
Meanwhile, in the past, in order to improve the performance of a central server, ordinary cache coherence maintenance service was performed using a middleware program in a cluster form in systems having tens of high-performance central processing units (CPUs). Another method is to use a dedicated independent cache server for a predetermined service of an object (for example, a high-capacity multimedia object) and thus enable an efficient file service. However, since this method uses a storage structure optimized for a predetermined service file, it cannot support a variety of file types and therefore provides a low-level support for general-purpose applications. Also, in order to maintain cache coherency of a user file manager, conventional object storage systems usually use a central lock server in a metadata management server, and thus the network bandwidth and processing capability of the server determine the overall performance of an object-based storage system.
Accordingly, the maximum number of users that one object-based storage system can accommodate depends on the maximum processing capability of the central lock server. In order to solve these problems, in the present invention, processing of cache coherency is distributed to each user file manager and thus a smooth object-based file service can be provided regardless of the number of users.
U.S. Patent Application No. 20050165828, by Jason Lango and 4 other persons, filed by Network Appliance Inc. on Oct. 14, 2004, and laid open on Jul. 28, 2005, relates to a method of quickly and efficiently transmitting media data to users by using an independent cache server, and a system therefor. The method requires a separate cache server and thus requires additional cost. Also, since the object data of the caching is limited to a special purpose file, the method is not suitable for a high-capacity object system. In addition, the more users accessing the system, the greater the capacity required for the cache server.